// pages/index/index.js
/**
 * 每一个页面都会对应一个js文件（每一页面的四个文件名字必须相同）
 * js文件就是页面的入口文件
 * Page() 注册页面：Vue.component();
 */
Page({
  /**
   * 页面的初始数据
   * 不需要通过函数返回（小程序中的每一个Page是唯一的）
   */
  data: {
    n: 1,
    color: "red",
    a: {
      b: "aaa",
    },
    users: [
      {
        id: 1,
        name: "张三",
      },
      {
        id: 2,
        name: "李四",
      },
    ],
  },

  /**
   * 自定义函数写在配置的最顶层，而不是 methods 中（小程序页面配置中没有 methods）
   */
  fn() {
    // console.log("123");
    /**
     * 修改 data 中的数据
     * data中的数据如果我们希望修改以后能够让页面重新渲染，必须通过 setData 方法来修改（React）
     */
    this.setData({
      n: this.data.n + 1,
    });
  },

  inputHandler(e) {
    // 通过 事件对象获取输入的数据
    console.log(e);
    this.setData({
      a: {
        b: e.detail.value,
      },
    });
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    console.log("页面加载完成了");
    /**
     * 访问 data 中的数据，是通过 this 来访问的，但是需要使用 data 来访问，这个就有点像 React
     */
    console.log(this.data.n, this.data.color);
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {},

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {},

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {},

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {},

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {},

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {},

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {},
});
